home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Periodicals / develop / develop 4 code / A⁄ROSE / MCPMBƒ / Exercise.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-08-27  |  3.9 KB  |  127 lines  |  [TEXT/MPS ]

  1. /*------------------------------------------------------------------------------
  2. #
  3. #    Exercise.h
  4. #
  5. #    derived from MPW 3.1's "Sample", a MultiFinder-Aware Simple Sample Application
  6. #
  7. #   Demonstrates how to use A/ROSE tasks for parallel processing 
  8. #    (one more program which computes Mandelbrot sets ...)
  9. #   
  10. #   One resizeable window; allows to select zoom-in rectangle
  11. #   (was meant to be an introductory Macintosh C-programming exercise, originally)
  12. #
  13. #   Refer to the original source code in the MPW CExamples folder for more comments
  14. #
  15. #    Components:
  16. #                Exercise.c
  17. #                Exercise.r
  18. #                Exercise.h
  19. #                Exercise.make
  20. #
  21. ------------------------------------------------------------------------------*/
  22.  
  23. /* This are the A/ROSE message codes we define: */
  24.  
  25. #define    MBCODE    2000
  26. /* .............................................*/
  27. //---------------------------------------------------------------------------
  28.  
  29. #define kBord    8
  30. #define kBottom  48
  31.  
  32. #define kDenom     8192        // denominator for rational Mandelbrot computation
  33.  
  34. #define kMinWidth  160
  35. #define kMinHeight 160
  36. #define kMaxWidth  640                
  37. #define kMaxHeight 480
  38. #define kCntPos    112
  39.  
  40.  
  41.  
  42. #define kMinSize    80                /* application's minimum size (in K) */
  43. #define kPrefSize    100                /* application's preferred size (in K) */
  44.  
  45. #define    rMenuBar    128                /* application's menu bar */
  46. #define    rAboutAlert    128                /* about alert */
  47. #define    rUserAlert    129                /* error user alert */
  48. #define    rWindow        128                /* application's window */
  49.  
  50. #define    rCPUchk        128                // activate CPU computation
  51. #define    rMCPchk        129                // activate MCP computation
  52.  
  53. #define    rErrStrings    128                /* error string list  */
  54. #define    rWndStrings 129                /* window string list */
  55.  
  56. #define    rTaskName    128                /* task object Name 'STR ' rsrc id  -- this is the "server" */
  57. #define    rTaskType    129                /* task type Name 'STR ' rsrc id */
  58. #define    rClientName    130                /* the same for the "client" */
  59. #define    rClientType    131                
  60.  
  61. /* The following are indicies into STR# resources. */
  62. #define    eWrongMachine            1
  63. #define    eSmallSize                2
  64. #define    eNoMemory                3
  65. #define    eNoWindow                4
  66. #define    eNoAROSE                5
  67. #define    eRegister                6
  68. #define    eNoMsg                    7
  69. #define    eNoServer                8
  70. #define    eICCMproblem            9
  71. #define    eUnknownMsg                10
  72. #define    eUndeliverable            11
  73. #define    eNoBitMap                12
  74. #define kLastErrStr                12                /* last index in STR# */
  75.  
  76.  
  77. #define    kSysEnvironsVersion        1
  78.  
  79. #define    kOSEvent                app4Evt    /* event used by MultiFinder */
  80. #define    kSuspendResumeMessage    1        /* high byte of suspend/resume event message */
  81. #define    kResumeMask                1        /* bit of message field for resume vs. suspend */
  82. #define    kMouseMovedMessage        0xFA    /* high byte of mouse-moved event message */
  83. #define    kNoEvents                0        /* no events mask */
  84.  
  85. #define    mApple                    128        /* Apple menu */
  86. #define    iAbout                    1
  87.  
  88. #define    mFile                    129        /* File menu */
  89. #define    iNew                    1
  90. #define    iOpen                    2
  91. #define    iClose                    4
  92. #define    iReset                    6
  93. #define    iQuit                    8
  94.  
  95. #define    mEdit                    130        /* Edit menu */
  96. #define    iUndo                    1
  97. #define    iCut                    3
  98. #define    iCopy                    4
  99. #define    iPaste                    5
  100. #define    iClear                    6
  101.  
  102.  
  103. /*    This is for positioning the Disk Initialization dialogs. */
  104.  
  105. #define kDITop                    0x0050
  106. #define kDILeft                    0x0070
  107.  
  108. #define kMinHeap                21 * 1024
  109. #define kMinSpace                8 * 1024
  110.  
  111. /* these #defines are used to set enable/disable flags of a menu */
  112.  
  113. #define AllItems    0b1111111111111111111111111111111    /* 31 flags */
  114. #define NoItems        0b0000000000000000000000000000000
  115. #define MenuItem1    0b0000000000000000000000000000001
  116. #define MenuItem2    0b0000000000000000000000000000010
  117. #define MenuItem3    0b0000000000000000000000000000100
  118. #define MenuItem4    0b0000000000000000000000000001000
  119. #define MenuItem5    0b0000000000000000000000000010000
  120. #define MenuItem6    0b0000000000000000000000000100000
  121. #define MenuItem7    0b0000000000000000000000001000000
  122. #define MenuItem8    0b0000000000000000000000010000000
  123. #define MenuItem9    0b0000000000000000000000100000000
  124. #define MenuItem10    0b0000000000000000000001000000000
  125. #define MenuItem11    0b0000000000000000000010000000000
  126. #define MenuItem12    0b0000000000000000000100000000000
  127.